home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / Metafont / Inputs / ec / expseudo.mf < prev    next >
Text File  |  1997-03-16  |  3KB  |  95 lines

  1. % expseudo.mf
  2. %
  3. % (c) Copyright 1995, 1996, 1997 J"org Knappen
  4. %
  5. % This file is part of ecfonts version 1.0
  6. %
  7. % Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
  8. % copyrite.txt for further information
  9. %
  10. % You find some documentation in ecdoc.tex (needs LaTeX2e)
  11. %
  12. % This file contains pseudoparameters which are not entered in the 
  13. % parameter files, but are computed from the initial parameter set. 
  14. % There are also ad hoc parameters needed only once, and scratch 
  15. % parameters with different values at each occuerence (like |theta|).
  16. %
  17. version_check(1,0);  % |version_check| was introduced in dc1.3
  18.  
  19. % Diameters of dots
  20.  
  21. numeric idot_diam#,udot_diam#,pdot_diam#;
  22. idot_diam#=max(dot_size#,cap_curve#);  % dot of letters `i' and `j'
  23. udot_diam#=max(dot_size#,cap_curve#);  % umlaut dots
  24. pdot_diam#=if monospace: 5/4 fi\\ dot_size#; % punctuation dots
  25.  
  26.  
  27. % The following umlaut dot diameter is used inside |exbase.mf|:
  28. % dot_diam:=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
  29. % Several symbols just use |dot_size|.
  30.  
  31. % |heavy_hair| occurs in italic lowercase `e'. Since there are many 
  32. % accented versions of it, it is declared once here
  33.  
  34. vardef heavy_hair=hround .2[hair,stem] enddef;
  35.  
  36. % |qvair| (quotes vair) for the french quotes
  37.  
  38. vardef qvair=max(round(xvair),fine+epsilon) enddef;
  39.  
  40. % |limit_dist| is used in |put_accent| and |put_cross|
  41. % (the value of |u| is changed by |mono_adjust|, hence the global setting)
  42.  
  43. vardef limit_dist=5/4u enddef;
  44.  
  45. % Height of lowercase umlaut, taken from csfonts
  46. % Changed again, since the |lowercase_umlaut| macro works differently
  47.  
  48. numeric lc_trema_height#;
  49. % lc_trema_height# = min(cap_height#,9/7x_height#+.5max(dot_size#,cap_curve#));
  50. lc_trema_height# = min(cap_height#,9/7hi.x_height#+max(dot_size#,cap_curve#));
  51.  
  52.  
  53. % More parametrisations for accents from csaccent.mf (csfonts):
  54.  
  55. numeric uc_acc_height, uc_acc_height#,
  56.         lc_acute_height, lc_acute_height#,
  57.         lc_hachek_height, lc_hachek_height#,
  58.         accent_u, accent_u#,
  59.         accent_thin,
  60.         uc_acc_shift, asc_acc_shift;
  61. if unknown circ_weight: circ_weight:=1; fi
  62.  
  63. %uc_acc_height# = cap_height#+asc_height#-x_height#;
  64. uc_acc_height# = cap_height#+acc_height#;
  65. lc_acute_height# = asc_height#;
  66. lc_hachek_height# = hi.x_height#+acc_height#;
  67. accent_u# = u#;   % unexpanded dimension unit
  68.  
  69. vardef accent_thin = if thin_join > crisp: thin_join else: crisp+eps fi enddef;
  70.  
  71. vardef uc_acc_shift = cap_height - x_height enddef;
  72. vardef asc_acc_shift = asc_height - x_height enddef;
  73.  
  74. numeric cap_accent_height, cap_accent_height#;
  75. %cap_accent_height# = uc_acc_height#;
  76. cap_accent_height# = cap_height# + acc_height#;
  77.  
  78. def pseudo_setup =
  79.   define_whole_blacker_pixels(idot_diam,udot_diam,pdot_diam);
  80.   define_whole_vertical_pixels(lc_trema_height);
  81.   define_whole_vertical_pixels(uc_acc_height,lc_acute_height,
  82.     lc_hachek_height);
  83.   define_pixels(accent_u);
  84.   define_whole_vertical_pixels(cap_accent_height);
  85. % LAST MINUTE EXTRA FONT SETUP 
  86. %%% define_pixels prepare_pen
  87. if not serifs: fisp#:=1/3[fine#,crisp#]; define_whole_pixels(fisp);
  88.                prepare_pen fisp; fi
  89. if known ogonek_pen#:
  90.  define_whole_pixels(ogonek_pen); prepare_pen ogonek_pen;
  91. fi
  92. enddef;
  93.  
  94. endinput;
  95.